package com.winning.ds.role.service;

import com.winning.ds.common.entity.MenuTreeEntity;
import com.winning.ds.common.entity.SysCzjsQxEntity;
import com.winning.ds.common.entity.TreeEntity;
import com.winning.ds.role.entity.SysCzjsEntity;
import com.winning.ds.role.entity.SysCzjsGnsjqxEntity;
import com.winning.ds.role.entity.SysZcjgQxEntity;

import java.util.List;
import java.util.Map;

/**
 * @program: plat
 * @description:
 * @author: nxs
 * @create: 2018-07-05 09:21
 */
public interface SysCzjsService {

  // 新增保存角色
  void save(SysCzjsEntity sysczjs);

  // 更新角色
  void update(SysCzjsEntity sysczjs);

  // 角色列表
  List<SysCzjsEntity> queryList(Map map);

  List<SysCzjsEntity> queryListJgyhgl(Map map);

  // 删除角色
  void deleteRole(String jsdm);

  // 根据角色编号获取角色详情
  SysCzjsEntity getRoleInfo(String jsdm);

  // 复制角色
  void copyRole(String roleCheckList, List ztreeCheckList);

  // 菜单树
  List<MenuTreeEntity> getMenuTree(String jgbm);

  // 查询所有菜单
  List<MenuTreeEntity> getMenu();

  List<MenuTreeEntity> getZcjgqx(String jgbm);

  // 保存机构设置
  void saveJgqx(String roleCheckList, String jgbm);

  // 保存功能权限
  void saveGnqx(String jgqxCheckList, String jsdm, String jgbm);

  // 保存数据权限
  void saveJgSjqx(String sjqxCheckList, String jsdm, String jgbm);

  // 获取操作角色 数据
  List<SysCzjsQxEntity> getGnqxCheck(String jgbm, String jsdm);

  // 获取 数据权限
  List<SysCzjsGnsjqxEntity> getSjqxCheck(String jgbm, String jsdm);

  // 复制机构权限
  void copyJgqx(String jgbm, List treeList);

  // 查看已选中的机构权限
  List<SysZcjgQxEntity> querySysZcjgqx(String jgbm);

  List<TreeEntity> getSjqzTree(String jgbm);
}
